/**
 * 签约银行js代码
 * @author yangjian
 */
define(function(require, exports) {

	//加载依赖
	require("ajaxproxy");
	require("areaSelect");
	require("jpreview");
	var common = require("common");
	var template = require("jtemplate");
	template.config("openTag", "{[");
	template.config("closeTag", "]}");

	exports.init = function(configs) {

		exports.signBank(configs);
		exports.modifyTradePass();
		exports.unsignBank();

		common.searchInit({formId : 'search-form'});

	}

	//签约银行
	exports.signBank = function(configs) {
		$(".sign-bank").on("click", function() {
			var userid = $(this).data('id');

			$.get(configs.signBank_url, {
				id : userid
			}, function(res) {
				//console.log(res.data);
				if ( res.code == '000' ) {
					common.post("签约银行", "sign-bank-template", {width:600, height:540}, res.data, configs.dosignBank_url);

					//绑定选择银行事件
					$(".select-bank").on("click", function() {
						exports.selectBank();
					});

					//绑定图片选择事件
					$(".img-thumbnail").on("click", function() {
						$(".img-thumbnail").removeClass("selected");
						$(this).addClass("selected");
						$('input[name="data[payway]"]').val($(this).data("payway"));
					});
				} else {
					common.message({
						type : 'error',
						content : '加载签约信息失败',
						top : __global.jdialog.top
					});
				}

			}, 'json');

		});
	}

	//选择银行
	exports.selectBank = function() {

		var html = template("bank-query-template", {item:{}});
		var options = {
			title : "查询银行",
			content : html,
			icon : 'none',
			width : 600,
			height : 620,
			lock : false,
			top : __global.jdialog.top,
			effect : 2,
			container : '#right-section',
			button : {
				"关闭" : function() {
					popWin.close();
				}
			}
		}
		var options = $.extend(__global.jdialog, options);
		var popWin = JDialog.win.work(options);

		//加载银行地区选择器
		require("bankAreaSelect");
		$('#bank-area-select').BankAreaSelect({
			name : {city : 'bankcity'},
			onChange : function(obj) {
				var cityId = $(obj).val();
				if ( !cityId ) return;
				var bankId = $('#sign_bank_id').val();
				$.get('/admin/bankCode/getBankBranches', {
					bank_id : bankId,
					area_id : cityId
				}, function(res) {

					$("#bank-list").empty();
					if ( res.code === '001' ) {
						common.message({
							type : 'warn',
							content : '亲，没有找到你要的数据',
							container : "#bank-list",
						});
					}
					var html = template('bank-list-template', {items:res.data});
					$("#bank-list").append(html);
					//绑定选中事件
					$("#bank-list").find("tr td").on("click", function() {
						//设置分行和联行号
						$('input[name="data[sign_bank_branch]"]').val($(this).text());
						$('input[name="data[sign_bank_code]"]').val($(this).data("code"));
						$('input[name="data[sign_bank_id]"]').val($("#sign_bank_id").val());

						popWin.close();
					});
				}, 'json');
			}
		});

		//搜索筛选
		$("#query").on("click", function() {
			var cityId = $('select[name="bankcity"]').val();
			var keyword = $("#branch-keyword").val().trim();
			if ( !cityId ) {
				alert("请先选择城市");
				$('select[name="bankcity"]').focus();
				return;
			}

			$("#bank-list").find("tr").each(function(index, elements) {
				var text = $(elements).children().first().text();
				//console.log(text);
				if ( text.indexOf(keyword) === -1 ) {
					$(elements).hide();
				} else {
					$(elements).show();
				}
			});
		});

	}

	//修改交易密码
	exports.modifyTradePass = function() {
		$(".modify-trade-pass").on("click", function() {
			var userid = $(this).data("id");
			common.post("修改交易密码", "modify-tradepass-template", {width:600, height:300}, {id:userid}, '/admin/user/tradePass');
		});
	}

	//银行解约
	exports.unsignBank = function() {
		$(".unsign-bank").on("click", function() {
			var url = $(this).data("url");
			var options = {
				title : "解约提示",
				content : '<p style="padding-top: 13px; font-size: 16px;">解约后，用户将无法再使用在线支付进行交易</p>',
				icon : 'ico0',
				width : 500,
				height : 0,
				lock : true,
				effect : 0,
				container : '#right-section',
				button : {
					"确定" : function() {

						popWin.lock();
						$.post(url, function(data) {

							popWin.close();
							common.message({
								type : __global.jdialog.messageType[data.code],
								content : data.message,
								top : __global.jdialog.top
							});

							setTimeout(function() {location.reload();}, __global.reloadDelayTime);

						}, "json");

					},

					"取消" : function() {
						popWin.close();
					}
				}
			}
			var options = $.extend(__global.jdialog, options);
			var popWin = JDialog.win.work(options);
		});
	}

});
